
#ifndef ENTITY
#define ENTITY

#include "framework.h"

class Entity
{
protected:
	Entity* parent;
	std::vector<Entity*> children;

public:

	Matrix44 model;
	Entity(void);
	~Entity(void);
	
	virtual void render() = 0;
	virtual void update(float dt);

	void addChild(Entity* ent);
	bool removeChild(Entity* ent);
	bool destroyChild(Entity* ent);
	Vector3 getPosition();
	Matrix44 getGlobalMatrix();
};

#endif